package cn.agiledata.bank.audit.service;

import cn.agiledata.bank.audit.exception.AuditException;
import cn.agiledata.bank.hibernateBean.AuditGroup;
import cn.agiledata.bank.hibernateBean.Operator;
import cn.agiledata.bank.hibernateBean.UserInfo;

public interface AuditGroupService {

    public AuditGroup[] getUserAuditGroupList(long accountId);

    public AuditGroup addUserAuditGroup(Operator operator, String name,
            String remark, long[] auditors) throws AuditException;

    public boolean removeAuditGroup(long auditGroupId);

    public AuditGroup getAuditGroupById(long auditGroupId);

    public AuditGroup amendUserAuditGroup(long auditGroupId, Operator operator,
            String name, String remark, long[] auditors) throws AuditException;

    public AuditGroup[] getSystemAuditGroupList();

    public AuditGroup addSystemAuditGroup(UserInfo user, String name,
            String remark, long[] auditors) throws AuditException;

    public AuditGroup amendSystemAuditGroup(long auditGroupId, UserInfo user,
            String name, String remark, long[] auditors) throws AuditException;

}